The present invention relates to a two-dimensional code, a method for reading the two-dimensional code, a method for producing two-dimensional code, and a recording medium storing related software programs.
For example, Unexamined Japanese Patent Publication No. 7-254037 (U.S. Pat. No. 5,726,435) discloses a conventional two-dimensional code which is so-called QR code. As shown in FIG. 18B, information has a two-dimensional spread. A great amount of information can be recorded compared with a bar code shown in FIG. 18A, although the code arrangement is complicated.
FIG. 19 is a view showing a schematic arrangement of such a conventional two-dimensional code. To enable the positional identification of the two-dimensional code, a two-dimensional code 500 comprises a plurality of positioning symbols 510a, 510b, and 510c as well as timing cells 520a and 520b. The inside space of two-dimensional code 500 is dissected into a matrix of n.times.n cells. Three positioning symbols 510a, 510b and 510c are located at three different corners of two-dimensional code 500. Each of the positioning symbols 510a, 510b and 510c has a same bright-and-dark pattern. The bright-and-dark pattern consists of three optically discriminable regions; an outer black region 512 forming a rectangular frame-like zone with a one-cell width, an inner black region 516 forming a square zone of 3 cells.times.3 cells, and an intermediate while region 514 interposed between two black regions 512 and 516 so as to form a rectangular frame-like zone with a one-cell width.
When a scanning line crosses the center of each positioning symbol, a same bright-and-dark pattern ,i.e., 1(black):1(white):3(black):1(white):1(black), is always obtained regardless of the scanning angle. Thus, in the detection of two-dimensional code 500, the above bright-dark pattern is first searched to identify the location of all positioning symbols 510a, 510b and 510c.
The two-dimensional code 500 has an information recording region 530 consisting of data cells for recording data. The cell position (i.e., coordinate values) of each data cell can be calculated based on each central position of the positioning symbols 510a, 510b and 510c and timing cells 520a and 520b. In a decoding operation, information (i.e., black or white) recorded in each data cell is converted into binary data (i.e., 1 or 0).
According to such a two-dimensional code, it is desirable to provide the error-correcting function to safely decode the recorded data even if part of the code is unreadable due to damage, stain or the like.